
import { getToken, setToken, removeToken } from '@/utils/auth'
import { Message } from 'element-ui'
import router from '@/router'
import { login, getInfo, mypermissions } from '@/api/user'
import {resetRouter} from '@/router/index'
export default {
  namespaced: true,
  state: {
    token: getToken(), // 设置token初始化状态
    userInfo: {}
  },
  mutations: {
    // 设置token
    setToken(state, newToken) {
      state.token = newToken
      setToken(newToken)
    },

    // 删除token
    removeToken(state) {
      state.token = ''
      removeToken()
    },

    // 设置用户信息
    getInfo(state, userInfo) {
      state.userInfo = userInfo
    },

    // 删除用户信息,用于退出功能
    removeUserInfo(state) {
      state.userInfo = {}
    }

  },
  actions: {
    async login(store, data) {
      const res = await login(data)
      console.log(38, res)

      // store.commit('getInfo', res.user)

      // 登录成功 弹窗提示用户
      Message.success('登录成功')

      // 把token存入本地
      store.commit('setToken', res.jwt)

      // 跳转首页
      router.push('/')
    },
    // 退出功能
    logout(store) {
    // 清除token
      store.commit('removeToken')
      // 清除用户信息
      store.commit('removeUserInfo')
      // 
      resetRouter()
    },
    // 保存权限和信息
    async getInfo(store) {
      const res = await getInfo()
      console.log(59,res);
      const permiss = await mypermissions()
      // console.log(61,permiss);

      store.commit('getInfo', { ...res, ...permiss })
    }

  }

}

